package bigapps.myneighbor.domain;

import javax.persistence.Entity;
import javax.xml.bind.annotation.XmlRootElement;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.EqualsBuilder;


@XmlRootElement(name="ParkingFacility")
@Entity(name = "ParkingFacility")
public class ParkingFacility extends NYCEntity {
	private String facilityType;
	private String licenseNumber;
	private String entityName;
	private String camisTradeName;
	private String addressBuilding;
	private String addressStreetName;
	private String addressLocation;
	private String addressCity;
	private String addressState;
	private String addressZipCode;
	private String telephoneNumber;
	private String numberOfSpaces;
	
	public String getFacilityType() {
		return facilityType;
	}
	public void setFacilityType(String facilityType) {
		this.facilityType = facilityType;
	}
	public String getLicenseNumber() {
		return licenseNumber;
	}
	public void setLicenseNumber(String licenseNumber) {
		this.licenseNumber = licenseNumber;
	}
	public String getEntityName() {
		return entityName;
	}
	public void setEntityName(String entityName) {
		this.entityName = entityName;
	}
	public String getCamisTradeName() {
		return camisTradeName;
	}
	public void setCamisTradeName(String camisTradeName) {
		this.camisTradeName = camisTradeName;
	}
	public String getAddressBuilding() {
		return addressBuilding;
	}
	public void setAddressBuilding(String addressBuilding) {
		this.addressBuilding = addressBuilding;
	}
	public String getAddressStreetName() {
		return addressStreetName;
	}
	public void setAddressStreetName(String addressStreetName) {
		this.addressStreetName = addressStreetName;
	}
	public String getAddressLocation() {
		return addressLocation;
	}
	public void setAddressLocation(String addressLocation) {
		this.addressLocation = addressLocation;
	}
	public String getAddressCity() {
		return addressCity;
	}
	public void setAddressCity(String addressCity) {
		this.addressCity = addressCity;
	}
	public String getAddressState() {
		return addressState;
	}
	public void setAddressState(String addressState) {
		this.addressState = addressState;
	}
	public String getAddressZipCode() {
		return addressZipCode;
	}
	public void setAddressZipCode(String addressZipCode) {
		this.addressZipCode = addressZipCode;
	}
	public String getTelephoneNumber() {
		return telephoneNumber;
	}
	public void setTelephoneNumber(String telephoneNumber) {
		this.telephoneNumber = telephoneNumber;
	}
	public String getNumberOfSpaces() {
		return numberOfSpaces;
	}
	public void setNumberOfSpaces(String numberOfSpaces) {
		this.numberOfSpaces = numberOfSpaces;
	}
      public boolean equals(Object obj){
   if (obj == null) { return false; }
   if (obj == this) { return true; }
   if (obj.getClass() != getClass()) {
     return false;
   }
   ParkingFacility rhs = (ParkingFacility) obj;
   return new EqualsBuilder().append(licenseNumber, rhs.getLicenseNumber()).isEquals();
      }
      public int hashCode(){
    return new HashCodeBuilder(17, 37).append(licenseNumber).toHashCode();
      }
	  public String toString(){
		  return entityId + ", " + getStatus().toString() + ", " + facilityType + ", " + licenseNumber + ", " + entityName + ", " + camisTradeName + ", " + addressBuilding + ", " + addressStreetName + ", " + addressLocation + ", " + addressCity + ", " + addressState + ", " + addressZipCode + ", " + telephoneNumber + ", " + numberOfSpaces + ", " + latitude + ", " + longitude + ", " + distance;
	  }
}
